#include<bits/stdc++.h>//P18
using namespace std;
int h[100001],ans[100001];
int main(){
    int n;scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",&h[i]);
    stack<int>st;
    for(int i=n;i>=1;i--){//从后向前遍历奶牛
        while(!st.empty()&&h[st.top()]<=h[i])
            st.pop();//栈顶奶牛没有i高，弹出它，直到栈顶奶牛更高为止
        if(st.empty())ans[i]=0;
        else ans[i]=st.top();
        st.push(i);
    }
    for(int i=1;i<=n;i++)printf("%d\n",ans[i]);
    return 0;
}